LW2000

 

Nombre:                         URLegal

Versión:                         2.1

Editor:                            Paul Gerhart Software

Víctima:                         URLEGAL.EXE

Serial guardado en:         HKEY_LOCAL_MACHINE\SOFTWARE\Paul Gerhart

Software\URLegal\User

Herramientas:                W32Dasm

                                      HIEW

                                      Cerebro

Cracker:                         LW2000

Tutorial:                         número 47

URL:                               http://www.worldlyns.net/pgerhart

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Bien, vamos a la pantalla de registro e introducimos ‘LW2000’ como Name y ‘1230099’ como Code.

2.     ¡Booom! “Name/Code mis-match. Try again.” ¡Hmmm! ¿Code equivocado? ¡El típico ‘bug’ de programa! ¡Vamos a ‘corregirlo’!

3.     Cargamos ‘URLEGAL.EXE’ en W32Dasm y vamos a las ‘String Data References’. Hacemos doble click en nuestra cadena: "Name/Code mis-match. Try again." Deberíamos estar aquí:

 

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:

|:00403170(C), :0040318A(C)  >Vamos aquí

|

:004031F6 6A00 push 00000000

:004031F8 6A00 push 00000000

 

* Possible StringData Ref from Data Obj->"Name/Code mis-match. Try again"

 

4.     ¡Bien! Echemos un vistazo a los saltos condicionales en ‘00403170(C’) y en ‘0040318A(C)’. Hacemos doble click en la primera referencia lo que nos desplazará a ése salto:

 

:00403169 E842040000    call 004035B0

:0040316E 85C0          test eax, eax

:00403170 0F8580000000 jne 004031F6 >Si EAX <> 0 entonces se muestra

                                     >el mensaje de error

:00403176 8D4DEC        lea ecx, dword ptr [ebp-14]

:00403179 51            push ecx

:0040317A 8D5588        lea edx, dword ptr [ebp-78]

:0040317D 52            push edx

:0040317E E87D040000    call 00403600

:00403183 25FF000000    and eax, 000000FF

:00403188 85C0          test eax, eax

:0040318A 746A          je 004031F6 >Si EAX = 1 entonces se muestra el

                                    >mensaje de error

:0040318C E8DFEAFFFF    call 00401C70

 

5.     Lo que queremos es saltarnos la protección (si se pregunta el por qué ya puede cerrar éste tutorial y no volver a leer nada en relación con el cracking). Así que vamos a reflexionar un poco sobre éste código. Si el salto no se produce iremos al proceso de registro. ¿Piensa usted lo mismo? ¡Vamos a poner a ‘NOP’ el salto!

6.     Bien, anotamos el offset de ‘:00403170’ y de ‘:0040318A’ y abrimos el fichero en HIEW. Vamos al offset (F5) y entramos en el modo Edit (F3). Después cambiamos el ‘0F8580000000’ a ‘909090909090’ y el ‘746A’ a ‘9090’.

7.     Guardamos nuestro trabajo y probamos a registrarnos de nuevo.

 

¡Enhorabuena! ¡Ya es usted un usuario registrado!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracias a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe